package pe.edu.unmsm.ocaa.workspace.integracion.dao;


import java.util.List;

import org.springframework.dao.DataAccessException;

import pe.edu.unmsm.ocaa.workspace.negocio.modelo.dto.BDUsuarioGrupoDTO;
import pe.edu.unmsm.ocaa.workspace.negocio.modelo.dto.UsuarioDTO;
import pe.edu.unmsm.ocaa.workspace.negocio.modelo.dto.VWUsuarioDTO;
import pe.edu.unmsm.ocaa.workspace.negocio.modelo.dto.VentanaPrincipalDTO;

public interface UsuarioDAO {

	public boolean validarNikPsw(String nickname, String password) throws DataAccessException;

	public Integer insertUsuario(UsuarioDTO usuario)throws DataAccessException;

	public void updateUsuario(UsuarioDTO usuario)throws DataAccessException;

	public List<BDUsuarioGrupoDTO> listUsuarios()throws DataAccessException;

	public UsuarioDTO selectUsuario(Integer idUsuario)throws DataAccessException;

	public void deleteUsuario(Integer idUsuario)throws DataAccessException;

	public List<UsuarioDTO> listNicksUsuarioxNick(String nickUsuario)throws DataAccessException;

	public List<VWUsuarioDTO> listUsuariosxArchivo(Integer idArchivo)throws DataAccessException;

	public UsuarioDTO selectUsuarioxNik(String nickUsuario)throws DataAccessException;

	public void insertGrupoUsuario(String nomGrupo, Integer idUsuario)throws DataAccessException;

	public void deleteGrupoUsuario(Integer idUsuario)throws DataAccessException;

	public List<UsuarioDTO> listUsuariosxGrupo(Integer idGrupo)throws DataAccessException;

	public VentanaPrincipalDTO selectVentanaPrincipalActual()throws DataAccessException;

	public void updateVentanaPrincipal(VentanaPrincipalDTO ventanaPrincipal)throws DataAccessException;

}
